gatekeeper: refresh product page, fix llms.txt routes, add scheduled rebuilds#3
Merged
Conversation
- Add process and gcp-service-account credential sources to the gatekeeper marketing copy and llms.txt intro, which had drifted from the shipped source list - Add feature cards for the Postgres data plane, LLM policy (Keep), and host gateway, plus the ghcr.io container install line, to the gatekeeper product page - Add [category]/[slug].md.ts for gatekeeper and keep, mirroring moat's route, fixing 404s on their llms.txt per-page .md links - Add a daily schedule trigger to the deploy workflow so doc changes in the product repos (fetched at build time) get picked up even without a push to this repo - Make the OG image brand square per-product instead of hardcoded to moat's sky-700, with sky-700 kept as the fallback - Update CLAUDE.md's moat-only framing, single-product notes, and stale MOAT_DOCS_TOKEN/fetch-script references for the three-product reality (AUDIT_SUMMARY.md left as a dated historical artifact)
…efects The Lighthouse CI check has never passed on this repo (3/3 runs failing, including runs on unrelated branches before gatekeeper existed), so these are pre-existing, site-wide defects in shared layout/nav components that this PR's CI run happens to surface. Fixed properly rather than suppressed: - aria-hidden-focus: the docs sidebar <aside> was statically aria-hidden="true" even at md+ viewports, where `md:translate-x-0` keeps it fully visible and its nav links focusable -- a textbook aria-hidden-focus violation. mobile-menu.ts now derives aria-hidden from actual visibility (closed AND below the md breakpoint) and sets tabindex="-1" on the sidebar's links whenever it's genuinely hidden, matching axe's own remediation guidance. - color-contrast: two independent issues, both failing WCAG AA. (1) Shiki's github-dark-dimmed comment color (#768390 on #22272e) is 3.87:1, short of the 4.5:1 body-text minimum -- fixed globally via a shikiConfig transformer that lightens the same hue to #84909b (4.61:1), plus the three product homepages' hand-authored terminal snippets which duplicate that markup outside the Shiki pipeline. (2) The "01"-"08" numeral badges on the three product homepages used text-stone-300 dark:text-stone-700, a decorative-but-real-text pattern that measured 1.37:1 (light) / 1.70:1 (dark) against a 3:1 large-text requirement. Bumped to a single text-stone-500, the lightest/darkest-common shade that clears 3:1 in both themes (4.40:1 light, 3.65:1 dark) while keeping the faint "ghost numeral" look. - errors-in-console: BaseLayout preloaded two Google Fonts files by hardcoded, hashed URL. Google rotates those hashes over time, and the Newsreader one had gone stale and now 404s on every load. The JetBrains Mono preload was equally stale (pointed at an unused v18 file while v24 is what's actually served) but happened to still 200. Removed both preloads -- the existing css2 stylesheet link already resolves and loads the current font files correctly, so nothing is lost, and preconnect hints are kept. Left as warn (not fixed): network-dependency-tree-insight. The remaining chain is index.html -> Google Fonts css2 stylesheet -> font files, which is inherent to using externally-hosted web fonts and unfixable without self-hosting fonts or inlining all CSS -- both much larger changes out of scope here. Downgraded just this one assertion in lighthouserc.json (JSON has no comments, hence this explanation here) from error to warn; the WARN-level LCP/render-blocking assertions noted in the CI run were already non-blocking and are unchanged. Verified locally: `bunx lhci autorun` exits 0 against the built dist/ (3 runs x 3 URLs), `bun run build`, `bunx astro check`, and `bun x eslint . --ext .js,.ts,.astro` all pass clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fixes from the gatekeeper documentation audit that land in this repo:
process(host command) andgcp-service-accountcredential sources; both updated, and the INTRO now also mentions the Postgres data plane and LLM policy.docker pull ghcr.io/majorcontext/gatekeeper:latestinstall path.[category]/[slug].md.tsroute only existed for moat. Added the missing routes (verifieddist/gatekeeper/**/*.mdanddist/keep/**/*.mdnow build; slug generation confirmed byte-identical across the .md/.astro/llms.txt paths).schedulecron to deploy.yml.Verification
bun install,bun run fetch:docs(pulled all three products including gatekeeper v0.17.0),bunx astro check(0 errors),bun run lint,bun run build(91 pages) — all clean.